<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-169911533-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-169911533-1');
</script>

  

  
  <title>空城盼故人</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="google-site-verification" content="NOVpqBhVVjZHOamocUf3Grijt7xAK_Engoe_FNrxE3Q" />
  <meta name="baidu-site-verification" content="HBrapLOndy" />
  
  <meta name="keywords" content="许嵩老公" />
  
  <meta name="description" content="深吸一口梦，吹个气球存起来">
<meta property="og:type" content="website">
<meta property="og:title" content="空城盼故人">
<meta property="og:url" content="https://xiaoyan94.github.io/index.html">
<meta property="og:site_name" content="空城盼故人">
<meta property="og:description" content="深吸一口梦，吹个气球存起来">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="许嵩老公">
<meta property="article:tag" content="许嵩老公">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/atom.xml" title="空城盼故人" type="application/atom+xml">
  
  
    <link rel="icon" href="https://q1.qlogo.cn/g?b=qq&nk=979727728&s=640">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  
<link rel="stylesheet" href="css/style.css">

  
<link rel="stylesheet" href="css/highlight.css">

<meta name="generator" content="Hexo 4.2.1"></head>

<body>
  <div id="fullpage" class="mobile-nav-right">
    <div class="fixed"></div>
    
      <div id="wrapper">
    
    
      <header id="header">
  <div id="nav-toggle" class="nav-toggle"></div>
  <div class="head-box global-width">
    <nav class="nav-box nav-right">
      
        <a class="nav-item" href="index.html" title
        
        >首页</a>
      
        <a class="nav-item" href="/archives" title
        
        >归档</a>
      
        <a class="nav-item" href="/quick-notes" title
        
        >小抄</a>
      
        <a class="nav-item" href="/about" title
        
        >关于</a>
      
    </nav>
  </div>
</header>
      <div id="middlecontent" title class="global-width sidebar-right">
        <section id="main">
  
    <article id="post-使用Node-js后台读取串口数据并通过WebSocket实时显示在网页上" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2023/02/13/%E4%BD%BF%E7%94%A8Node-js%E5%90%8E%E5%8F%B0%E8%AF%BB%E5%8F%96%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E9%80%9A%E8%BF%87WebSocket%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%8A/">使用Node.js后台读取串口数据并通过WebSocket实时显示在网页上</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2023/02/13/%E4%BD%BF%E7%94%A8Node-js%E5%90%8E%E5%8F%B0%E8%AF%BB%E5%8F%96%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E9%80%9A%E8%BF%87WebSocket%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%8A/" class="article-date">
  <time datetime="2023-02-13T07:27:39.000Z" itemprop="datePublished">2023-02-13</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Node-js/" rel="tag">Node.js</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Serial-Port/" rel="tag">Serial Port</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/WebSocket/" rel="tag">WebSocket</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        
        <p>记录一下使用 Node.js 后台读取串口数据并通过 WebSocket 实时显示在网页上的方法，可以使用以下步骤：</p>
<ol>
<li>使用第三方库 serialport 读取串口数据</li>
<li>安装 WebSocket 服务器，例如 ws 库</li>
<li>创建 WebSocket 服务器，并监听客户端连接</li>
<li>在每次读取到串口数据时，通过 WebSocket 发送数据到客户端</li>
<li>在客户端，使用 JavaScript 更新 HTML 元素的属性值</li>
</ol>
<p>以下是一个简单的示例：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="false"data-rel="JAVASCRIPT"><figure class="iseeu highlight /javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// Node.js 后台代码</span></span><br><span class="line"><span class="keyword">const</span> SerialPort = <span class="built_in">require</span>(<span class="string">'serialport'</span>);</span><br><span class="line"><span class="keyword">const</span> ReadLine = <span class="built_in">require</span>(<span class="string">'@serialport/parser-readline'</span>);</span><br><span class="line"><span class="keyword">const</span> WebSocket = <span class="built_in">require</span>(<span class="string">'ws'</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 创建一个串口解析器</span></span><br><span class="line"><span class="keyword">const</span> port = <span class="keyword">new</span> SerialPort(<span class="string">'COM3'</span>, &#123; <span class="attr">baudRate</span>: <span class="number">9600</span> &#125;);</span><br><span class="line"><span class="keyword">const</span> parser = port.pipe(<span class="keyword">new</span> ReadLine(&#123; <span class="attr">delimiter</span>: <span class="string">'\r\n'</span> &#125;));</span><br><span class="line"></span><br><span class="line"><span class="comment">// 创建 WebSocket 服务器</span></span><br><span class="line"><span class="keyword">const</span> server = <span class="keyword">new</span> WebSocket.Server(&#123; <span class="attr">port</span>: <span class="number">8080</span> &#125;);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 监听客户端连接</span></span><br><span class="line">server.on(<span class="string">'connection'</span>, (socket) =&gt; &#123;</span><br><span class="line">  <span class="comment">// 在读取到串口数据时，发送数据到客户端</span></span><br><span class="line">  parser.on(<span class="string">'data'</span>, (data) =&gt; &#123;</span><br><span class="line">    <span class="comment">// 解析读取到的数据</span></span><br><span class="line">    <span class="keyword">const</span> target = data.split(<span class="string">'  '</span>)[<span class="number">2</span>];</span><br><span class="line">    <span class="comment">// 通过 WebSocket 发送数据到客户端</span></span><br><span class="line">    socket.send(target);</span><br><span class="line">  &#125;);</span><br><span class="line">&#125;);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 客户端 JavaScript 代码</span></span><br><span class="line"><span class="keyword">const</span> socket = <span class="keyword">new</span> WebSocket(<span class="string">'ws://localhost:8080'</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 监听 WebSocket 接收到的数据</span></span><br><span class="line">socket.onmessage = <span class="function">(<span class="params">event</span>) =&gt;</span> &#123;</span><br><span class="line">  <span class="comment">// 更新 HTML 元素的属性值</span></span><br><span class="line">  <span class="built_in">document</span>.getElementById(<span class="string">'test'</span>).value = event.data;</span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure></div>

<p>注意：在这个示例代码中，我们假设“数据格式为文本字符，形如0  00   xxx  00，获取其中的xxx”</p>

          
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-作为用户，修改Cookie有效期，延长Cookie期限" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/">作为用户，修改Cookie有效期，延长Cookie期限</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/" class="article-date">
  <time datetime="2023-02-09T03:21:12.000Z" itemprop="datePublished">2023-02-09</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Cookie/" rel="tag">Cookie</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <h2 id="浏览器中手动修改cookie的有效期"><a href="#浏览器中手动修改cookie的有效期" class="headerlink" title="浏览器中手动修改cookie的有效期"></a>浏览器中手动修改cookie的有效期</h2><p>网站可以使用Cookie验证身份，从而可以实现关闭游客访问。</p>
<p>作为用户，若网站关闭了游客访问，且Cookie到期以后，就无法继续访问该网站。</p>
<p>可以在浏览器客户端手动设置Cookie的过期时间，从而延长登录有效期。</p>
<p>以Chrome浏览器为例，按<code>F12</code>打开开发者工具，找到网站Cookie手动修改过期时间。</p>
<p><img src="/2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/2023-02-09-12-19-19.png" alt="按`F12`打开开发者工具，找到网站Cookie手动修改过期时间。"></p>
<h2 id="相关知识之会话cookie"><a href="#相关知识之会话cookie" class="headerlink" title="相关知识之会话cookie"></a>相关知识之会话cookie</h2>
        
          <p class="article-more-link">
            <a href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-终端命令代理" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/">终端命令网络设置</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/" class="article-date">
  <time datetime="2023-02-08T06:17:51.000Z" itemprop="datePublished">2023-02-08</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Git-Bash/" rel="tag">Git Bash</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E7%BB%88%E7%AB%AF/" rel="tag">终端</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <h2 id="终端设置代理"><a href="#终端设置代理" class="headerlink" title="终端设置代理"></a>终端设置代理</h2><ol>
<li><p>Linux&#x2F;macOS bash&#x2F;Windows Git Bash终端</p>
<ol>
<li>使用 <code>export https_proxy=http://127.0.0.1:7890;export http_proxy=http://127.0.0.1:7890;export all_proxy=socks5://127.0.0.1:7890</code> 设置环境变量</li>
<li>使用 <code>curl -verbose ip.gs</code> 命令进行检查是否设置成功。</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">$</span><span class="bash"> <span class="built_in">export</span> https_proxy=http://127.0.0.1:7890;<span class="built_in">export</span> http_proxy=http://127.0.0.1:7890;<span class="built_in">export</span> all_proxy=socks5://127.0.0.1:7890</span></span><br><span class="line"><span class="meta">$</span><span class="bash"> curl -verbose ip.gs</span></span><br><span class="line">* Uses proxy env variable http_proxy == 'http://127.0.0.1:7890'</span><br><span class="line">*   Trying 127.0.0.1:7890...</span><br><span class="line">* Connected to 127.0.0.1 (127.0.0.1) port 7890 (#0)</span><br><span class="line"><span class="meta">&gt;</span><span class="bash"> GET http://ip.gs/ HTTP/1.1</span></span><br><span class="line"><span class="meta">&gt;</span><span class="bash"> Host: ip.gs</span></span><br><span class="line"><span class="meta">&gt;</span><span class="bash"> User-Agent: curl/7.84.0</span></span><br><span class="line"><span class="meta">&gt;</span><span class="bash"> Accept: */*</span></span><br><span class="line"><span class="meta">&gt;</span><span class="bash"> Referer: rbose</span></span><br><span class="line"><span class="meta">&gt;</span><span class="bash"> Proxy-Connection: Keep-Alive</span></span><br><span class="line"><span class="meta">&gt;</span></span><br><span class="line">* Mark bundle as not supporting multiuse</span><br><span class="line">&lt; HTTP/1.1 200 OK</span><br><span class="line">&lt; Transfer-Encoding: chunked</span><br><span class="line">&lt; Cache-Control: no-cache</span><br><span class="line">&lt; Connection: keep-alive</span><br><span class="line">&lt; Content-Type: text/plain</span><br><span class="line">&lt; Date: Wed, 08 Feb 2023 06:01:21 GMT</span><br><span class="line">&lt; Keep-Alive: timeout=4</span><br><span class="line">&lt; Proxy-Connection: keep-alive</span><br><span class="line">&lt; Server: nginx</span><br><span class="line">&lt; Vary: Accept-Encoding</span><br><span class="line">&lt;</span><br><span class="line">2607:f130:0:手动马赛克::d891:eccc</span><br><span class="line">* Connection #0 to host 127.0.0.1 left intact</span><br></pre></td></tr></table></figure>
</li>
<li><p>Windows CMD终端</p>
<ol>
<li>使用 <code>set http_proxy=http://127.0.0.1:7890 &amp; set https_proxy=http://127.0.0.1:7890</code> 设置环境变量</li>
<li>使用 <code>curl -vvvk https://google.com</code> 命令进行检查是否设置成功。</li></ol></li></ol>
        
          <p class="article-more-link">
            <a href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-Windows系统C盘清理工具FreeMove及文件占用进程查看软件LockHunter配合使用" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/">Windows系统C盘清理工具FreeMove及文件占用进程查看软件LockHunter配合使用</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/" class="article-date">
  <time datetime="2023-01-18T01:32:29.000Z" itemprop="datePublished">2023-01-18</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E7%94%B5%E8%84%91/" rel="tag">电脑</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <p>三款软件、按顺序使用即可，无损移动C盘文件至其他盘，不影响使用。</p>
<ol>
<li><a href="http://www.uderzo.it/main_products/space_sniffer/download.html" target="_blank" rel="noopener">SpaceSniffer 磁盘文件大小可视化分析，找到大文件夹</a></li>
<li><a href="https://lockhunter.com/download.htm" target="_blank" rel="noopener">LockHunter 解除文件进程占用</a></li>
<li><a href="https://github.com/imDema/FreeMove/releases" target="_blank" rel="noopener">FreeMove 建立软链接的方式移动C盘大文件夹至其他盘</a></li>
</ol>
<p><img src="/2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/2023-01-18-11-02-47.png" alt="SpaceSniffer软件截图"></p>
        
          <p class="article-more-link">
            <a href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-AutoReconnectWiFi" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2023/01/14/AutoReconnectWiFi/">检测断网自动重连WiFi脚本</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2023/01/14/AutoReconnectWiFi/" class="article-date">
  <time datetime="2023-01-14T00:46:32.000Z" itemprop="datePublished">2023-01-14</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E8%84%9A%E6%9C%AC/" rel="tag">脚本</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <p>最近公司网络出毛病老是隔段时间就自动断开连接，写了这个批处理脚本可以自动检测网络状态、断网自动重连WiFi，并记录断网重连日志。</p>
        
          <p class="article-more-link">
            <a href="2023/01/14/AutoReconnectWiFi/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-JavaScript使用-Web-Serial-API获取串行设备端口数据-地磅串口数据" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2022/11/18/JavaScript%E4%BD%BF%E7%94%A8-Web-Serial-API%E8%8E%B7%E5%8F%96%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E7%AB%AF%E5%8F%A3%E6%95%B0%E6%8D%AE-%E5%9C%B0%E7%A3%85%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE/">JavaScript使用 Web Serial API获取串行设备端口数据(地磅串口数据)</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2022/11/18/JavaScript%E4%BD%BF%E7%94%A8-Web-Serial-API%E8%8E%B7%E5%8F%96%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E7%AB%AF%E5%8F%A3%E6%95%B0%E6%8D%AE-%E5%9C%B0%E7%A3%85%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE/" class="article-date">
  <time datetime="2022-11-18T13:10:15.000Z" itemprop="datePublished">2022-11-18</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <ul>
<li><a href="#%E5%89%8D%E6%9C%9F%E5%87%86%E5%A4%87">前期准备</a></li>
<li><a href="#%E8%B5%84%E6%BA%90%E9%93%BE%E6%8E%A5">资源链接</a></li>
<li><a href="#%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B">代码示例</a><ul>
<li><a href="#%E6%A3%80%E6%9F%A5%E6%B5%8F%E8%A7%88%E5%99%A8%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81">检查浏览器是否支持</a></li>
<li><a href="#%E6%89%93%E5%BC%80%E4%B8%B2%E8%A1%8C%E7%AB%AF%E5%8F%A3">打开串行端口</a></li>
</ul>
</li>
<li><a href="#%E5%9C%B0%E7%A3%85%E8%AF%BB%E6%95%B0%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B">地磅读数代码示例</a></li>
<li><a href="#chrome%E6%B5%8F%E8%A7%88%E5%99%A8%E9%85%8D%E7%BD%AE%E5%9C%A8http%E5%8D%8F%E8%AE%AE%E4%BD%BF%E7%94%A8web%E4%B8%B2%E8%A1%8Capi">chrome浏览器配置在http协议使用web串行api</a></li>
</ul>
        
          <p class="article-more-link">
            <a href="2022/11/18/JavaScript%E4%BD%BF%E7%94%A8-Web-Serial-API%E8%8E%B7%E5%8F%96%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E7%AB%AF%E5%8F%A3%E6%95%B0%E6%8D%AE-%E5%9C%B0%E7%A3%85%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-JavaScript之函数" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2022/09/07/JavaScript%E4%B9%8B%E5%87%BD%E6%95%B0/">JavaScript 之函数</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2022/09/07/JavaScript%E4%B9%8B%E5%87%BD%E6%95%B0/" class="article-date">
  <time datetime="2022-09-07T15:20:16.000Z" itemprop="datePublished">2022-09-07</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <h2 id="参数传递"><a href="#参数传递" class="headerlink" title="参数传递"></a>参数传递</h2><p>JavaScript 在传递参数时，其实是一个数组，其实<strong>所有的参数都会被装载到函数内部一个叫作 <code>arguments</code> 的数组里面</strong>。</p>
<p>代码示例：</p>
<figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">html</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">body</span>&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">script</span>&gt;</span></span><br><span class="line"><span class="actionscript">      <span class="comment">// window.alert('Hello World')</span></span></span><br><span class="line"><span class="actionscript">      <span class="function"><span class="keyword">function</span> <span class="title">add</span><span class="params">()</span> </span>&#123;</span></span><br><span class="line"><span class="javascript">        <span class="keyword">if</span> (<span class="built_in">arguments</span>.length &gt; <span class="number">0</span>) &#123;</span></span><br><span class="line"><span class="javascript">          <span class="built_in">console</span>.log(<span class="built_in">arguments</span>.length);</span></span><br><span class="line"><span class="actionscript">          <span class="comment">// alert(arguments[0])</span></span></span><br><span class="line"><span class="actionscript">          <span class="keyword">var</span> sum = <span class="number">0</span>;</span></span><br><span class="line"><span class="actionscript">          <span class="comment">//   arguments.forEach(element =&gt; &#123;</span></span></span><br><span class="line"><span class="actionscript">          <span class="comment">//     sum+=element;</span></span></span><br><span class="line"><span class="actionscript">          <span class="comment">//   &#125;);</span></span></span><br><span class="line"><span class="javascript">          <span class="keyword">for</span> (<span class="keyword">let</span> index = <span class="number">0</span>; index &lt; <span class="built_in">arguments</span>.length; index++) &#123;</span></span><br><span class="line"><span class="javascript">            <span class="keyword">const</span> element = <span class="built_in">arguments</span>[index];</span></span><br><span class="line"><span class="actionscript">            <span class="comment">// console.log(element);</span></span></span><br><span class="line">            sum += element;</span><br><span class="line">          &#125;</span><br><span class="line"><span class="javascript">          <span class="built_in">console</span>.log(sum);</span></span><br><span class="line"><span class="actionscript">        &#125; <span class="keyword">else</span> &#123;</span></span><br><span class="line"><span class="actionscript">          alert(<span class="string">"参数为空"</span>);</span></span><br><span class="line">        &#125;</span><br><span class="line">      &#125;</span><br><span class="line">      add();</span><br><span class="line"><span class="actionscript">      <span class="comment">// var a = [1, 2];</span></span></span><br><span class="line">      add(1, 2, 3, 4, 5);</span><br><span class="line">    <span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;/<span class="name">body</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">html</span>&gt;</span></span><br></pre></td></tr></table></figure>

<p>如上所示，即使在定义函数 <code>add</code> 时，没有声明参数，在调用时传入任意参数都是会被装载到 <code>arguments</code> 数组的。</p>
<p>只是需要注意的是，只能使用 <code>for</code> 循环遍历 <code>arguments</code> ，不能在其上使用 <code>forEach</code> 遍历（会报错，不存在 <code>forEach</code> ）。</p>
<h2 id="闭包"><a href="#闭包" class="headerlink" title="闭包"></a>闭包</h2>
        
          <p class="article-more-link">
            <a href="2022/09/07/JavaScript%E4%B9%8B%E5%87%BD%E6%95%B0/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-NET-Data-Parallelism-Task-Parallel-Library" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2022/09/01/NET-Data-Parallelism-Task-Parallel-Library/">.NET 数据并行性（任务并行库） Data Parallelism (Task Parallel Library)</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2022/09/01/NET-Data-Parallelism-Task-Parallel-Library/" class="article-date">
  <time datetime="2022-09-01T15:31:10.000Z" itemprop="datePublished">2022-09-01</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/NET/" rel="tag">.NET</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E5%B9%B6%E8%A1%8C%E7%BC%96%E7%A8%8B/" rel="tag">并行编程</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        
        <h2 id="Data-Parallelism-数据并行性"><a href="#Data-Parallelism-数据并行性" class="headerlink" title="Data Parallelism (数据并行性)"></a>Data Parallelism (数据并行性)</h2><p><em>Data parallelism</em> refers to scenarios in which the same operation is performed concurrently (that is, in parallel) on elements in a source collection or array. In data parallel operations, the source collection is partitioned so that multiple threads can operate on different segments concurrently.</p>
<p>The Task Parallel Library (TPL) supports data parallelism through the <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel" target="_blank" rel="noopener">System.Threading.Tasks.Parallel</a> class. This class provides method-based parallel implementations of <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/statements/iteration-statements#the-for-statement" target="_blank" rel="noopener">for</a> and <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/statements/iteration-statements#the-foreach-statement" target="_blank" rel="noopener">foreach</a> loops (<code>For</code> and <code>For Each</code> in Visual Basic). You write the loop logic for a <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.for" target="_blank" rel="noopener">Parallel.For</a> or <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.foreach" target="_blank" rel="noopener">Parallel.ForEach</a> loop much as you would write a sequential loop. You do not have to create threads or queue work items. In basic loops, you do not have to take locks. The TPL handles all the low-level work for you. For in-depth information about the use of <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.for" target="_blank" rel="noopener">Parallel.For</a> and <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.foreach" target="_blank" rel="noopener">Parallel.ForEach</a>, download the document <a href="https://www.microsoft.com/download/details.aspx?id=19222" target="_blank" rel="noopener">Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4</a>. The following code example shows a simple <code>foreach</code> loop and its parallel equivalent.</p>
<h2 id="Parallel-ForEach"><a href="#Parallel-ForEach" class="headerlink" title="Parallel.ForEach"></a>Parallel.ForEach</h2>
          
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-JavaScript获取网页URL地址的查询参数-QueryString-的方法" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2022/08/31/JavaScript%E8%8E%B7%E5%8F%96%E7%BD%91%E9%A1%B5URL%E5%9C%B0%E5%9D%80%E7%9A%84%E6%9F%A5%E8%AF%A2%E5%8F%82%E6%95%B0-QueryString-%E7%9A%84%E6%96%B9%E6%B3%95/">JavaScript获取网页URL地址的查询参数(QueryString)的方法</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2022/08/31/JavaScript%E8%8E%B7%E5%8F%96%E7%BD%91%E9%A1%B5URL%E5%9C%B0%E5%9D%80%E7%9A%84%E6%9F%A5%E8%AF%A2%E5%8F%82%E6%95%B0-QueryString-%E7%9A%84%E6%96%B9%E6%B3%95/" class="article-date">
  <time datetime="2022-08-31T13:27:39.000Z" itemprop="datePublished">2022-08-31</time>
</a>
    
    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>

  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <h2 id="需求：获取-URL-查询参数"><a href="#需求：获取-URL-查询参数" class="headerlink" title="需求：获取 URL 查询参数"></a>需求：获取 URL 查询参数</h2><p>需求详情</p>
<p>请求URL: <code>http://example.com:80/method?id=1&amp;name=xy</code></p>
<p>获取请求参数id、name的值1、xy。</p>
<h2 id="方法一：URLSearchParams"><a href="#方法一：URLSearchParams" class="headerlink" title="方法一：URLSearchParams"></a>方法一：<code>URLSearchParams</code></h2><p>使用 <code>URLSearchParams</code> 对象的 <code>get</code> 方法。参考：</p>
        
          <p class="article-more-link">
            <a href="2022/08/31/JavaScript%E8%8E%B7%E5%8F%96%E7%BD%91%E9%A1%B5URL%E5%9C%B0%E5%9D%80%E7%9A%84%E6%9F%A5%E8%AF%A2%E5%8F%82%E6%95%B0-QueryString-%E7%9A%84%E6%96%B9%E6%B3%95/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  
    <article id="post-NET-Framework-连接-Oracle数据库" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/">.NET Framework 连接 Oracle数据库：找不到请求的 .Net Framework Data Provider。可能没有安装</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/" class="article-date">
  <time datetime="2022-08-29T08:13:41.000Z" itemprop="datePublished">2022-08-29</time>
</a>
    
    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <ul>
<li><a href="#1-%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF">1. 错误信息</a><ul>
<li><a href="#11-%E9%94%99%E8%AF%AF%E8%AF%A6%E6%83%85">1.1. 错误详情</a></li>
</ul>
</li>
<li><a href="#2-%E9%97%AE%E9%A2%98%E5%8E%9F%E5%9B%A0">2. 问题原因</a></li>
<li><a href="#3-%E6%9F%A5%E7%9C%8B%E4%B8%8E%E8%AE%BE%E7%BD%AEoracle_home%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F">3. 查看与设置ORACLE_HOME环境变量</a><ul>
<li><a href="#31-windows%E4%B8%8B%E6%9F%A5%E7%9C%8B%E4%B8%8E%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F">3.1. Windows下查看与设置环境变量</a></li>
</ul>
</li>
<li><a href="#4-%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85odpnet%E9%A9%B1%E5%8A%A8">4. 下载与安装ODP.NET驱动</a></li>
<li><a href="#5-oracle%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE">5. Oracle数据库连接配置</a><ul>
<li><a href="#51-%E5%88%86%E6%9E%90%E4%B8%8E%E8%A7%A3%E5%86%B3%E9%94%99%E8%AF%AF">5.1. 分析与解决错误</a><ul>
<li><a href="#511-%E5%85%88%E4%BA%86%E8%A7%A3%E4%B8%8B-oracle-tnsnamesora-%E6%96%87%E4%BB%B6%E7%94%A8%E6%B3%95">5.1.1. 先了解下 oracle <code>tnsnames.ora</code> 文件用法</a><ul>
<li><a href="#5111-1%E7%94%A8%E9%80%94">5.1.1.1. 1.用途</a></li>
<li><a href="#5112-2%E7%94%A8%E6%B3%95">5.1.1.2. 2.用法</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#52-%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95">5.2. 解决方法</a></li>
</ul>
</li>
</ul>
<h2 id="1-错误信息"><a href="#1-错误信息" class="headerlink" title="1. 错误信息"></a>1. 错误信息</h2><p>解决错误信息：<strong>找不到请求的 .Net Framework Data Provider。可能没有安装</strong></p>
<h3 id="1-1-错误详情"><a href="#1-1-错误详情" class="headerlink" title="1.1. 错误详情"></a>1.1. 错误详情</h3><p><img src="/2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/2022-08-30-08-53-43.png" alt="找不到请求的 .Net Framework Data Provider。可能没有安装。"></p>
        
          <p class="article-more-link">
            <a href="2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/#more">阅读全文</a>
          </p>
        
      
    </div>
    
    
  </div>
  
  
</article>

  


  <nav id="page-nav">
    <!--  -->
    <span class="page-number current">1</span><a class="page-number" href="page/2/">2</a><a class="page-number" href="page/3/">3</a><span class="space">&hellip;</span><a class="page-number" href="page/6/">6</a><a class="extend next" rel="next" href="page/2/">下一页 &gt;&gt;</a>
  </nav>


</section>
        <aside id="sidebar">
  
    <div class="widget-box">
  <div class="avatar-box">
    <img class="avatar" src="https://q1.qlogo.cn/g?b=qq&amp;nk=979727728&amp;s=640" title="图片来自QQ"></img>
    <h3 class="avatar-name">
      
        许嵩老公
      
    </h3>
    <p class="avatar-slogan">
      深吸一口梦，吹个气球存起来。
    </p>
  </div>
</div>


  
    

  
    
  <div class="widget-box">
    <h3 class="widget-title">Tags</h3>
    <div class="widget">
      <ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="tags/NET/" rel="tag">.NET</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Cookie/" rel="tag">Cookie</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/ES6/" rel="tag">ES6</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Git-Bash/" rel="tag">Git Bash</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Github/" rel="tag">Github</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Github-Actions/" rel="tag">Github Actions</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/HDFS/" rel="tag">HDFS</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/HTTP/" rel="tag">HTTP</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Hadoop/" rel="tag">Hadoop</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Hexo/" rel="tag">Hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Idea/" rel="tag">Idea</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/JVM/" rel="tag">JVM</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Java/" rel="tag">Java</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Linux/" rel="tag">Linux</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/MapReduce/" rel="tag">MapReduce</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Markdown/" rel="tag">Markdown</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Maven/" rel="tag">Maven</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Node/" rel="tag">Node</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Node-js/" rel="tag">Node.js</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/SQL/" rel="tag">SQL</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Serial-Port/" rel="tag">Serial Port</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Shell/" rel="tag">Shell</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/SpringBoot/" rel="tag">SpringBoot</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/TCP/" rel="tag">TCP</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/VSCode/" rel="tag">VSCode</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Vue/" rel="tag">Vue</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/WebSocket/" rel="tag">WebSocket</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/YARN/" rel="tag">YARN</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/hexo/" rel="tag">hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/macOS/" rel="tag">macOS</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/ssh/" rel="tag">ssh</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81/" rel="tag">中文乱码</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/" rel="tag">大数据</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/" rel="tag">安装教程</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%AF%86%E9%92%A5/" rel="tag">密钥</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%B9%B6%E8%A1%8C%E7%BC%96%E7%A8%8B/" rel="tag">并行编程</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" rel="tag">数据库</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E7%94%B5%E8%84%91/" rel="tag">电脑</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E7%AB%B9%E4%BA%91/" rel="tag">竹云</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E7%BB%88%E7%AB%AF/" rel="tag">终端</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E8%84%9A%E6%9C%AC/" rel="tag">脚本</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E8%BD%AC%E8%BD%BD/" rel="tag">转载</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E8%BD%AF%E4%BB%B6/" rel="tag">软件</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-box">
    <h3 class="widget-title">Tag Cloud</h3>
    <div class="widget tagcloud">
      <a href="tags/NET/" style="font-size: 10px;">.NET</a> <a href="tags/Cookie/" style="font-size: 10px;">Cookie</a> <a href="tags/ES6/" style="font-size: 10px;">ES6</a> <a href="tags/Git-Bash/" style="font-size: 11.67px;">Git Bash</a> <a href="tags/Github/" style="font-size: 13.33px;">Github</a> <a href="tags/Github-Actions/" style="font-size: 10px;">Github Actions</a> <a href="tags/HDFS/" style="font-size: 10px;">HDFS</a> <a href="tags/HTTP/" style="font-size: 11.67px;">HTTP</a> <a href="tags/Hadoop/" style="font-size: 18.33px;">Hadoop</a> <a href="tags/Hexo/" style="font-size: 10px;">Hexo</a> <a href="tags/Idea/" style="font-size: 10px;">Idea</a> <a href="tags/JVM/" style="font-size: 18.33px;">JVM</a> <a href="tags/Java/" style="font-size: 20px;">Java</a> <a href="tags/JavaScript/" style="font-size: 16.67px;">JavaScript</a> <a href="tags/Linux/" style="font-size: 15px;">Linux</a> <a href="tags/MapReduce/" style="font-size: 11.67px;">MapReduce</a> <a href="tags/Markdown/" style="font-size: 10px;">Markdown</a> <a href="tags/Maven/" style="font-size: 13.33px;">Maven</a> <a href="tags/Node/" style="font-size: 10px;">Node</a> <a href="tags/Node-js/" style="font-size: 10px;">Node.js</a> <a href="tags/SQL/" style="font-size: 13.33px;">SQL</a> <a href="tags/Serial-Port/" style="font-size: 10px;">Serial Port</a> <a href="tags/Shell/" style="font-size: 11.67px;">Shell</a> <a href="tags/SpringBoot/" style="font-size: 10px;">SpringBoot</a> <a href="tags/TCP/" style="font-size: 10px;">TCP</a> <a href="tags/VSCode/" style="font-size: 10px;">VSCode</a> <a href="tags/Vue/" style="font-size: 10px;">Vue</a> <a href="tags/WebSocket/" style="font-size: 11.67px;">WebSocket</a> <a href="tags/YARN/" style="font-size: 10px;">YARN</a> <a href="tags/hexo/" style="font-size: 11.67px;">hexo</a> <a href="tags/macOS/" style="font-size: 11.67px;">macOS</a> <a href="tags/ssh/" style="font-size: 11.67px;">ssh</a> <a href="tags/%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81/" style="font-size: 10px;">中文乱码</a> <a href="tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/" style="font-size: 10px;">大数据</a> <a href="tags/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/" style="font-size: 10px;">安装教程</a> <a href="tags/%E5%AF%86%E9%92%A5/" style="font-size: 10px;">密钥</a> <a href="tags/%E5%B9%B6%E8%A1%8C%E7%BC%96%E7%A8%8B/" style="font-size: 10px;">并行编程</a> <a href="tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 10px;">数据库</a> <a href="tags/%E7%94%B5%E8%84%91/" style="font-size: 11.67px;">电脑</a> <a href="tags/%E7%AB%B9%E4%BA%91/" style="font-size: 11.67px;">竹云</a> <a href="tags/%E7%BB%88%E7%AB%AF/" style="font-size: 13.33px;">终端</a> <a href="tags/%E8%84%9A%E6%9C%AC/" style="font-size: 10px;">脚本</a> <a href="tags/%E8%BD%AC%E8%BD%BD/" style="font-size: 10px;">转载</a> <a href="tags/%E8%BD%AF%E4%BB%B6/" style="font-size: 10px;">软件</a>
    </div>
  </div>

  
    
  <div class="widget-box">
    <h3 class="widget-title">Archives</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="archives/2023/02/">二月 2023</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2023/01/">一月 2023</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2022/11/">十一月 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2022/09/">九月 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2022/08/">八月 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2021/12/">十二月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2021/02/">二月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2021/01/">一月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2020/08/">八月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2020/07/">七月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2020/06/">六月 2020</a></li></ul>
    </div>
  </div>

  
    
  <div class="widget-box">
    <h3 class="widget-title">Recent Posts</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="2023/02/13/%E4%BD%BF%E7%94%A8Node-js%E5%90%8E%E5%8F%B0%E8%AF%BB%E5%8F%96%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E9%80%9A%E8%BF%87WebSocket%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%8A/">使用Node.js后台读取串口数据并通过WebSocket实时显示在网页上</a>
          </li>
        
          <li>
            <a href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/">作为用户，修改Cookie有效期，延长Cookie期限</a>
          </li>
        
          <li>
            <a href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/">终端命令网络设置</a>
          </li>
        
          <li>
            <a href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/">Windows系统C盘清理工具FreeMove及文件占用进程查看软件LockHunter配合使用</a>
          </li>
        
          <li>
            <a href="2023/01/14/AutoReconnectWiFi/">检测断网自动重连WiFi脚本</a>
          </li>
        
      </ul>
    </div>
  </div>

  
      <div class="widget-box">
    <h3 class="widget-title">友链</h3>
    <div class="widget">
      
        <!-- <a style="display: block;" href="https://xiaoyan94.github.io/" title target='_blank' -->
        <a style="display: block;" href="https://xiaoyan94.github.io/" title target='_blank'
        >Github Pages</a>
      
        <!-- <a style="display: block;" href="https://xy94.gitee.io/" title target='_blank' -->
        <a style="display: block;" href="https://xy94.gitee.io/" title target='_blank'
        >Gitee Pages</a>
      
    </div>
  </div>

  
 
  
</aside>
      </div>
      <footer id="footer">
  <div class="foot-box global-width center">
    &copy; 2023 许嵩老公 &nbsp;&nbsp;
    Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
    &nbsp;|&nbsp;主题 <a href="https://github.com/yiluyanxia/hexo-theme-antiquity" target="_blank" rel="noopener">antiquity</a>
    <br>
    <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span id="busuanzi_container_site_pv">不蒜子告之   阁下是第<span id="busuanzi_value_site_pv"></span>个访客</span>
    
  </div>
  
  <!--引入文字点击特效-->
  <script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
  
<script src="/js/dianji.js"></script>

</footer>

<!--添加回到顶部按钮-->
<style>
/* 小猫置顶 */
/* 自定义回到顶部样式 */
.cd-top {
  position: fixed;
  right: 25px;
  top: -900px;
  z-index: 99;
  width: 70px;
  height: 900px;
  /* background: url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/images/scroll.png) no-repeat center; */
  background: url(/images/scroll.png) no-repeat center;
  background-size: contain;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  /* cursor: url(https://cdn.jsdelivr.net/gh/moezx/cdn@3.1.9/img/Sakura/cursor/No_Disponible.cur), auto; */
  cursor: url(/images/cursor/No_Disponible.cur), auto;
  opacity: 1
}

.cd-top.cd-is-visible {
  opacity: 1;
  top: -326px
}

.cd-top.cd-fade-out {
  opacity: 1
}

.cd-top:hover {
  opacity: 1
}

.cd-top span {
  display: none;
  color: #000;
  position: absolute;
  bottom: 0;
  height: 20px;
  width: 50px;
  text-align: center
}

@media screen and (max-width:860px) {
  .cd-top {
      display: none;
      height: 60px;
      width: 50px
  }
  .cd-top span {
      height: 10px;
      width: 50px
  }
}

#moblieGoTop {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 99;
  border: 0;
  outline: 0;
  background-color: #fff;
  color: #404040;
  cursor: pointer;
  padding: 15px;
  border-radius: 10px;
  border-radius: 12px;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, .12), 0 2px 2px 0 rgba(0, 0, 0, .24);
  transition: box-shadow .2s ease
}
#moblieGoTop:hover {
  background-color: #fff;
  opacity: .8
}
.changeSkin-gear {
  position: fixed;
  bottom: 0;
  left: auto;
  right: 5px;
  width: auto;
  height: auto;
  z-index: 99;
  white-space: nowrap;
  padding: 10px 10px;
  cursor: pointer;
  border-radius: 10px 10px 0 0
}
</style>

<!-- 添加小猫置顶 -->
<a class="cd-top faa-float animated cd-is-visible cd-fade-out" style="top: -500px;"></a>
<button id="moblieGoTop" title="Go to top" style="display: none;font-size: xx-large;"><i class="fa fa-chevron-up" aria-hidden="true"></i>🔝</button>

<!-- <div class="scroll "> <i class="fa fa-arrow-up" style="margin-left: 4px;"></i>
Top⬆️
<span class="scrollpercent" style="margin-left: -2px;"></span>
<span style="margin-right: 4px; margin-left: -4px;">%</span>
</div> -->

<!-- https://www.huangpinke.com/2018/08/24/add-back-to-top-button.html -->
      <script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery-2.0.3.min.js";
document.body.write(script);
}
</script>

  
<link rel="stylesheet" href="fancybox/jquery.fancybox.css">

  
<script src="fancybox/jquery.fancybox.pack.js"></script>




<script src="js/script.js"></script>




<script>
  (function(){
      var bp = document.createElement('script');
      bp.src = '//push.zhanzhang.baidu.com/push.js';
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(bp, s);
  })();
  </script>

<!-- mermaid图 -->

  <script src='https://unpkg.com/mermaid@7.1.2/dist/mermaid.min.js'></script>
  <script>
    if (window.mermaid) {
      mermaid.initialize({theme: 'forest'});
    }
  </script>

    </div>
    <nav id="mobile-nav" class="mobile-nav-box">
  <div class="mobile-nav-img mobile-nav-top"></div>
  
    <a href="index.html" class="mobile-nav-link">首页</a>
  
    <a href="/archives" class="mobile-nav-link">归档</a>
  
    <a href="/quick-notes" class="mobile-nav-link">小抄</a>
  
    <a href="/about" class="mobile-nav-link">关于</a>
  
  <div class="mobile-nav-img  mobile-nav-bottom"></div>
</nav>    
  </div>
</body>

</html>